/**
  * @addtogroup 
  * 
  *
  * @brief 
  *
  * @code{c}
  * @endcode
  * @{
  * @file         bsc_electric_fence_cfg.h
  * @brief        添加平台通道
  * @note
  * @author       Jpz(puzhao.jin@hopechart，靳普诏)
  * @date         2022-09-22
  * @version      1.0
  * 
  * @par          修改日志
  * <table>
  * <tr><th>Date        <th>Version          <th>Author                        <th>Description
  * <tr><td>2022-09-22  <td>1.0              <td>Jpz                           <td>创建初始版本
  * @copyright    杭州鸿泉物联网技术股份有限公司
  */



#ifndef _BSC_ELECTRIC_FENCE_CFG_H_
#define _BSC_ELECTRIC_FENCE_CFG_H_

#include "bsc_electric_fence/bsc_electric_fence.h"
#include "bsc_electric_fence/bsc_electric_fence_channel.h"


#ifdef __cplusplus
extern "C" {
#endif

typedef enum TBsElectricFenceCfgChannelIdTag TBsElectricFenceCfgChannelId;
enum  TBsElectricFenceCfgChannelIdTag
{
    kBsElectricFenceCfgChannelId0,
    kBsElectricFenceCfgChannelId1,
    kBsElectricFenceCfgChannelId2,
    kBsElectricFenceCfgChannelId3,
    // ... ...
    kBsElectricFenceCfgChannelIdMax
};


/**
 * 由用户实现，传出创建的通道列表，在 BsElectricFenceInit() 中被调用并完成注册
 * @param *ret_count  返回列表中通道数量
 * @return 成功，通道列表首地址
 *         失败，NULL
 */
TBsElectricFenceChannel *BsElectricFenceCfgChannelsCreate(TBsElectricFenceMoveStatus *location, Int32 *ret_count);

/**
 * 通道列表析构，在 BsElectricFenceDone() 中被调用析构全部通道
 * @return 
 */
void BsElectricFenceCfgChannelsDestroy(void);


// /**
//  * 获取指定通道句柄
//  * @param id
//  * @return 
//  */
// TBsElectricFenceChannel *BsElectricFenceCfgChannelHandler(UInt32 id);


#ifdef __cplusplus
}  ///< extern "C" {
#endif


#endif

